package com.yidu.boss.util;

import com.github.pagehelper.PageInfo;

import java.util.*;

/**
 * 用于获得随机码的工具类
 */
public class RandomString {
    /**
     * 获得length长度的随机码
     * @param length 随机码长度
     * @return
     */
    public static String getRandomString(int length) {
        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < length; ++i) {
            //int number = random.nextInt(62);// [0,62)
            sb.append(str.charAt(random.nextInt(62)));
        }
        return sb.toString();
    }

    /**
     * 分页方法算法
     * @param Info  分页后的对象
     * @param size  分页的条数
     * @return  返回一个用于前端数据的map数据格式
     */
    public   static Map<String, Object> pagingALG(PageInfo Info, long size) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("code", 0);
        map.put("msg", "");
        map.put("count", size);
        map.put("data", Info.getList());
        return map;
    }

    /**
     * 随机Id
     * @return
     */
    public static String getUUID(){
        return UUID.randomUUID()
                .toString()
                .replace("-", "")//替换
                //.toUpperCase()//转为大写
                .toLowerCase()//转为小写
                .substring(0,6);//获取前6位字符
    }

    /**
     * 随机数字  代码
     */
    public static String getNum() {
        //6位随机数字
        String result = "";
        for (int i = 0; i < 6; i++) {
            int intVal = (int) (Math.random() * 10 + 1);
            result = result + (int) intVal;
        }
        // System.out.print(result);
        return result;
    }

   }

